package com.qn.utils;

import java.util.ArrayList;
import java.util.List;

public class ListUtils {

    /**
     * 将一个集合按照指定长度分割成多个集合
     * @param messagesList 需要分割的集合
     * @param groupSize 每个集合的分割长度
     * @return
     */
    public static List<List<String>> splitList(List<String> messagesList, int groupSize) {
        int length = messagesList.size();
        // 计算可以分成多少组
        int num = (length + groupSize - 1) / groupSize; // TODO
        List<List<String>> newList = new ArrayList<>(num);
        for (int i = 0; i < num; i++) {
            // 开始位置
            int fromIndex = i * groupSize;
            // 结束位置
            int toIndex = (i + 1) * groupSize < length ? (i + 1) * groupSize : length;
            newList.add(messagesList.subList(fromIndex, toIndex));
        }
        return newList;
    }

}
